package com.server.user.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.server.model.all.user.bo.LoginBo;
import com.server.model.all.user.bo.SmsLoginBo;
import com.server.common.code.vo.LoginVo;
import com.server.model.all.user.bo.ForgetPasswordBo;
import com.server.model.all.user.bo.RegisterUserBo;
import com.server.model.all.user.entity.UserEntity;
import com.server.model.all.user.vo.UserInfoVo;

public interface UserService extends IService<UserEntity> {

    /**
     * 登录
     * @author LXC
     * @date 2022/4/28 20:28
     */
    LoginVo login(LoginBo loginBo);


    /**
     * 登录
     * @author LXC
     * @date 2022/4/28 20:28
     */
    LoginVo smsLogin(SmsLoginBo smsLoginBo);

    /**
     * 获取用户信息
     * @author LXC
     * @date 2022/5/2 20:56
     */
    UserInfoVo getUserInfo(Long userId);

    /**
     * 注册
     * @author LXC
     * @date 2022/5/3 17:10
     */
    Integer register(RegisterUserBo registerUserBo);

    /**
     * 通用登录实现
     * @author LXC
     * @date 2022/6/20 23:23
     */
    LoginVo login(UserEntity userEntity);

    /**
     * 校验用户是否可以注册
     * @author LXC
     * @date 2022/6/23 21:08
     */
    void checkUserRegister(UserEntity checkUserEntity);

    /**
     * 忘记密码
     * @author LXC
     * @date 2022/11/13 14:18
     */
    int forgetPassword(ForgetPasswordBo forgetPasswordBo);
}
